{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "执行如下命令"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {
    "vscode": {
     "languageId": "shellscript"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Requirement already satisfied: numpy in ./.venv/lib/python3.12/site-packages (2.0.1)\n",
      "Requirement already satisfied: scipy in ./.venv/lib/python3.12/site-packages (1.14.0)\n",
      "Requirement already satisfied: matplotlib in ./.venv/lib/python3.12/site-packages (3.9.1)\n",
      "Requirement already satisfied: contourpy>=1.0.1 in ./.venv/lib/python3.12/site-packages (from matplotlib) (1.2.1)\n",
      "Requirement already satisfied: cycler>=0.10 in ./.venv/lib/python3.12/site-packages (from matplotlib) (0.12.1)\n",
      "Requirement already satisfied: fonttools>=4.22.0 in ./.venv/lib/python3.12/site-packages (from matplotlib) (4.53.1)\n",
      "Requirement already satisfied: kiwisolver>=1.3.1 in ./.venv/lib/python3.12/site-packages (from matplotlib) (1.4.5)\n",
      "Requirement already satisfied: packaging>=20.0 in ./.venv/lib/python3.12/site-packages (from matplotlib) (24.1)\n",
      "Requirement already satisfied: pillow>=8 in ./.venv/lib/python3.12/site-packages (from matplotlib) (10.4.0)\n",
      "Requirement already satisfied: pyparsing>=2.3.1 in ./.venv/lib/python3.12/site-packages (from matplotlib) (3.1.2)\n",
      "Requirement already satisfied: python-dateutil>=2.7 in ./.venv/lib/python3.12/site-packages (from matplotlib) (2.9.0.post0)\n",
      "Requirement already satisfied: six>=1.5 in ./.venv/lib/python3.12/site-packages (from python-dateutil>=2.7->matplotlib) (1.16.0)\n",
      "Note: you may need to restart the kernel to use updated packages.\n"
     ]
    }
   ],
   "source": [
    "pip install numpy scipy matplotlib"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "去除发电功率为0后的数据： [4051.0, 1136.0, 3999.0, 3983.0, 3943.0, 3825.0, 4095.0, 3962.0, 2919.316, 2871.917, 2440.994, 2888.622, 2856.046, 2777.556, 2643.448, 2647.661, 3015.436, 2881.157, 2747.594, 1411.901, 2816.204, 2769.376]\n",
      "平均值（mean）： 3030.9649090909093\n",
      "中位数（median）： 2876.5370000000003\n",
      "众数（mode）： 1136.0\n",
      "方差（variance）： 616955.3410829917\n",
      "标准差（standard deviation）： 785.465047652021\n",
      "正态分布最中间的数（均值）： 3030.9649090909093\n"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import numpy as np\n",
    "from scipy import stats\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "\n",
    "# 原始数据\n",
    "data = [4051.000, 1136.000, 3999.000, 3983.000, 3943.000, 3825.000, 4095.000, 3962.000, 2919.316, 2871.917, 2440.994, 0.000, 0.000, 0.000, 0.000,\n",
    "        0.000, 0.000, 0.000, 0.000, 2888.622, 2856.046, 2777.556, 2643.448, 2647.661, 3015.436, 2881.157, 2747.594, 1411.901, 2816.204, 2769.376]\n",
    "\n",
    "# 去除发电功率为0的数据\n",
    "filtered_data = [x for x in data if x != 0]\n",
    "\n",
    "# 计算集中趋势\n",
    "mean = np.mean(filtered_data)# 平均数\n",
    "median = np.median(filtered_data) # 中位数\n",
    "mode = stats.mode(filtered_data)[0]# 众数\n",
    "\n",
    "# 计算离散程度\n",
    "variance = np.var(filtered_data)\n",
    "std_dev = np.std(filtered_data)\n",
    "\n",
    "\n",
    "# 生成正态分布\n",
    "norm_dist = stats.norm(loc=mean, scale=std_dev)\n",
    "\n",
    "# 找到正态分布最中间的数，即均值\n",
    "middle_value = mean\n",
    "\n",
    "\n",
    "# 输出结果\n",
    "print(\"去除发电功率为0后的数据：\", filtered_data)\n",
    "print(\"平均值（mean）：\", mean)\n",
    "print(\"中位数（median）：\", median)\n",
    "print(\"众数（mode）：\", mode)\n",
    "print(\"方差（variance）：\", variance)\n",
    "print(\"标准差（standard deviation）：\", std_dev)\n",
    "print(\"正态分布最中间的数（均值）：\", middle_value)\n",
    "\n",
    "\n",
    "# 生成正态分布的x值\n",
    "x = np.linspace(norm_dist.ppf(0.01), norm_dist.ppf(0.99), 100)\n",
    "\n",
    "# 生成正态分布的y值\n",
    "y = norm_dist.pdf(x)\n",
    "\n",
    "\n",
    "# 绘制正态分布图\n",
    "plt.plot(x, y, 'r-', lw=5, alpha=0.6, label='Normal distribution')\n",
    "\n",
    "# 显示图\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "# 原始数据\n",
    "data = [4051.000, 1136.000, 3999.000, 3983.000, 3943.000, 3825.000, 4095.000, 3962.000, 2919.316, 2871.917, 2440.994, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 2888.622, 2856.046, 2777.556, 2643.448, 2647.661, 3015.436, 2881.157, 2747.594, 1411.901, 2816.204, 2769.376]\n",
    "\n",
    "# 去除发电功率为0的数据\n",
    "# filtered_data = [x for x in data if x != 0]\n",
    "\n",
    "# 绘制点阵图\n",
    "plt.scatter(range(len(filtered_data)), filtered_data)\n",
    "\n",
    "# 显示图\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "# 原始数据\n",
    "data = [4051.000, 1136.000, 3999.000, 3983.000, 3943.000, 3825.000, 4095.000, 3962.000, 2919.316, 2871.917, 2440.994, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 0.000, 2888.622, 2856.046, 2777.556, 2643.448, 2647.661, 3015.436, 2881.157, 2747.594, 1411.901, 2816.204, 2769.376]\n",
    "\n",
    "# 去除发电功率为0的数据\n",
    "filtered_data = [x for x in data if x != 0]\n",
    "\n",
    "# 绘制直方图\n",
    "plt.hist(filtered_data, bins=100, edgecolor='black')\n",
    "\n",
    "# 显示图\n",
    "plt.show()"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": ".venv",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.12.4"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
